Many businesses with large computer networks opt to use third-party provider networks rather than create a private network spanning large distances at potentially prohibitive cost. These third-party provider networks should be able to provide the ability for multicast transmissions. In one approach, a business may utilize a third-party provider network using Multi-Protocol Label Switching (MPLS). Multicast transmissions may be handled by the creation and use of a Multi-Point to Multi-Point (MP2MP) MPLS tree.
An MP2MP MPLS tree is a set of network nodes (e.g., computers, routers, hubs, switches), with one root node, and one or more child nodes connected either directly or indirectly to the root node. Every child node is either directly connected to the root node or to at least one other child node to enable communications with the root node. MPLS Label-Switched Paths (LSPs) are set up to allow messages to be multicast to all nodes of the MP2MP MPLS tree. In such a tree, MPLS routers within the third-party provider network replicate multicast transmissions based on a set of LSPs through the network. Each MPLS router sends multicast transmissions up the tree towards a root node as well as down the tree to nodes downstream from the router. Each MP2MP MPLS tree has one root node. A similar approach is described in pending U.S. Patent Application Publication No. 2006/0221867 (Wijnands, et al.), entitled “Building Multipoint-to-Multipoint Label Switch Paths.”